import {defineConfig} from 'powerful-cli';

export default defineConfig(async (
	{
		returnCheck,
		baseDir,
		packageJson,
		args,
		command,
		utils:{
			copyReplace,
			copyCover,
			dateFormat,
		},
	}
) => {
	return returnCheck({
		extendConfigs:[
		],
		envPath:[
		],
		extraEnv:{
		},
	});
},async (
	{
		extendConfigs,
		envPath,
		extraEnv,
		returnCheck,
		baseDir,
		packageJson,
		args,
		command,
		utils:{
			copyReplace,
			copyCover,
			dateFormat,
		},
	}
) => {
	return returnCheck({
		devServer:{
		},
		emitEntryInjectJs:{
		},
		pages:{
			index:'src/main.ts',
		},
		htmlTemplate:{
			favicon:undefined,
			minify:undefined,
			templateParameters:{
			},
			inject:false,
		},
		publicPath:'auto',
		outputDir:'dist',
		alias:{
		},
		buildFile:{
			emit:command!=='serve',
			name:'build-info.txt',
			content:[
			],
		},
		definePlugin:{
		},
		buildConfig:{
			buildConsole:'normal',
			minimize:true,
			sourceMap:true,
			cssSourceMap:false,
			sourceLog:true,
		},
		libConfig:{
			buildConsole:'normal',
			name:packageJson.name,
			entry:'src/lib.ts',
			template:'',
			minify:undefined,
			templateParameters:undefined,
			inject:undefined,
			scriptLoading:'blocking',
			minimize:true,
			sourceMap:true,
			cssSourceMap:false,
			sourceLog:true,
			externals:{
			},
			export:'default',
		},
		copy:{
			dir:'static',
			minimize:true,
			filter:undefined,
		},
		babel:{
			presetOption:{
				browserslistEnv:undefined,
				debug:false,
				useBuiltIns:'usage',
			},
			plugins:[
			],
			polyfills:[
			],
			transpileDependencies:[
			],
			extraEntry:[
			],
		},
		typescript:{
			active:true,
		},
		eslint:{
			extensions:[
			],
		},
		cacheGroups:{
		},
		report:{
			emit:true,
			type:'html',
			filename:'report',
			statsOptions:null,
		},
		fileManager:undefined,
		webpackConfig:{
			performance:{
				hints:false,
			}
		},
	});
});